#include <iostream>
#include <cstring>
using namespace std;

/*
	默认情况下：创建子类，都是调用父类的无参构造
	            程序员想要指定调用父类的某个版本的构造，该如何实现？
				    
*/
class Animal
{
public:
	Animal()
	{
		cout<<"父类Animal无参构造了"<<endl;
	}
	Animal(int m)
	{
		cout<<"父类Animal带int类型参数构造了，参数是: "<<m<<endl;
	}
};
class Cat:public Animal
{
public:
	Cat():Animal(123)
	{
		cout<<"子类Cat无参构造了"<<endl;
	}
	Cat(int n)
	{
		cout<<"子类Cat带int参数构造了"<<endl;
	}
	Cat(int n,string name):Animal(1258)
	{
		cout<<"子类Cat带int和string参数构造了"<<endl;
	}
};

int main(int argc,char **argv)
{
	Cat c1;
	Cat c2(666);
	Cat c3(888,"旺财");
	return 0;	
}